Numerically controlled curved surface machining unit

ABSTRACT

To provide a numerically controlled curved surface machining unit, and a method or program thereof, which, by moving a tool smoothly along a NURBS (non-uniform rational B-spline) curve, enables not only to improve the machining surface roughness and machining surface accuracy but to achieve high-speed machining so as to be able to eliminate hand finishing and reduce machining steps drastically. Performing NURBS (non-uniform rational B-spline) interpolation machining by a machine equipped with a means for reading cutter location (CL) data consisting of a tool control point vector and a tool axis vector on a workpiece coordinate system, a means for converting the CL data into a position vector of three linear axes and a rotation angle on a machine coordinate system in accordance with the machine configuration of a simultaneous multiple-axis NC machine, a means for calculating knot vectors of a NURBS curve with the most suitable chord length on the basis of a position vector of the three linear axes and a rotation angle, a means for calculating NURBS curve of the three linear axes and one rotary axis using the knot vectors, a means for converting the NURBS curve into NURBS interpolation NC data, a means for converting the feed rate on a workpiece coordinate system into the feed rate per minute on a machine coordinate system, and a means for transmitting NC data to a NC machine.

BACKGROUND OF THE INVENTION

[0001] 1. Field of Utilization in Industry

[0002] The present invention relates to a numerically controlled curvedsurface machining unit, particularly to such a unit that improvesmachining surface roughness and accuracy and enables to achievehigh-speed machining.

[0003] 2. Description of Prior Art

[0004] In the conventional numerically controlled (NC) curved surfacemachining, since a workpiece is machined by linear approximation asshown in FIG. 2(a), the machining surface roughness is poor and a lot ofhand-finishing steps are needed. Besides, as shown in FIG. 2(b), sincean average feed rate decreases as a result of acceleration ordeceleration in positioning, long machining time is needed and, what isworse, there lies a problem that a vast amount of NC data at shorterpitches are required to improve the machining surface accuracy.

[0005] Japanese Application Patent Laid-Open Publication No. HEI9-114512 (1997) proposes a method of curved surface machining by a NCmachine tool for the purpose of improving machining surface accuracy anddecreasing NC data volume. Even with this conventional method, however,there still lies a problem of poor machining surface roughness due tolinear approximation and lower average feed rate due to acceleration ordeceleration in positioning.

[0006] In order to solve these problems, interpolation by a NURBS curveas shown in FIG. 3 has been proposed. NURBS curve, which stands forNon-Uniform Rational B-Spline curve, is a kind of B-spline curve that isexpressed by a rational expression wherein pitches of the nodal pointsconstituting a curve are not uniform. It is a characteristic featurethat the NURBS curve uses a rational expression in defining a curvewhile other curves use a polynomial.

[0007] By controlling these, a curve can be locally transformed withoutdifficulty. Besides, it becomes possible to uniformly handle a cylinder,cone, sphere, hyperbola, ellipse, and parabola that cannot be expressedaccurately by other curves.

[0008] In FIG. 3, the NURBS curve defines a curve by the control pointPi, weights wi, and knot vector xi; where k is degree, Pi is controlpoint, wi is weights, xi is knot (xi≦xi+1), [x0, x1, . . ., xm] (m=n+k)is knot vector, and t is spline parameter.

[0009] When a B-spline basis function N(t) is expressed by a de Boor-Coxrecursive expression, Expressions 1 and 2 are obtained. The NURBS curveP(t) for interpolation results in Expression 3.

[0010] Expression 1 ${N_{i,1}(t)} = \left\{ \begin{matrix}1 & \left( {x_{i} \leq t < x_{i + 1}} \right) \\0 & \left( {{t < {xi}},{x_{i + 1} \leq t}} \right)\end{matrix} \right.$

[0011] Expression 2$N_{i,k} = {\frac{\left( {t - x_{i}} \right){N_{i,{k - 1}}(t)}}{x_{i + k - 1} - X_{i}} + \frac{\left( {x_{i + k} - t} \right){N_{{i + 1},{k - 1}}(t)}}{x_{i + k} - X_{i + 1}}}$

[0012] Expression 3${P(t)} = \frac{\sum\limits_{i = 0}^{n}\quad {{N_{i,k}(t)}w_{i}P_{i}}}{\sum\limits_{i = 0}^{n}\quad {{N_{i,k}(t)}w_{i}}}$

[0013] (X_(k−1)≦t≦x_(m−k+1))

[0014] A NURBS interpolation instruction is outputted in the followingformat.

[0015] G05P10000; (high-accuracy continuous tool path control mode ON)

[0016] . . .

[0017] G06.2

[0018] [P_]K_X_Y_Z_α_β_[R_][_F_];

[0019] K_X_Y_Z_α_β_[R_];

[0020] K_X_Y_Z_α_β_[R_];

[0021] K_X_Y_Z_α_β_[R_];

[0022] . . .

[0023] K_X_Y_Z_α_β_[R_];

[0024] K_;

[0025] . . .

[0026] G01 . . .

[0027] . . .

[0028] G05P0; (high-accuracy continuous tool path control mode OFF)

[0029] where;

[0030] G06.2: NURBS interpolation mode ON

[0031] P: Degree of NURBS curve

[0032] K_X_Y_Z_α_β: Control point (α, β: Rotary axis instruction)

[0033] R: Weights

[0034] K: Knot

[0035] F: Feed rate

[0036] In the NURBS interpolation machining, since a curve can besmoothly machined as shown in FIG. 2(c), less hand-finishing steps areneeded. In addition, since acceleration and deceleration in positioningbecomes smooth and the average feed rate increases as shown in FIG.2(d), machining time can be shortened and high-speed machining becomespossible. Further, it is said be advantageous that, since the controlpoints for the NURBS interpolation can be set effectively, required NCdata volume can be less.

[0037] With the conventional NURBS (non-uniform rational B-spline)interpolation method, simultaneous machining by three linear axes hasbeen possible for the purpose of machining a mold. On pages 12-17 of“Machines and Tools” (February 1998 issue), under a title “High-SpeedHigh-Accuracy Machining by NURBS Interpolation and SmoothInterpolation”, a machining method with an enhanced function up tosimultaneous 5-axis machining including two rotary axes is described forhigh-efficiency machining of a turbine blade, hydraulic turbineimpeller, or the like.

[0038] On pages 8-9 of “Mold Engineering” (July 1998 issue), under atitle of “Generation of High-Quality Machining Surface by AdditionalAxis NURBS Interpolation Machining”, a machining method of a turbineblade by software using a simultaneous 5-axis NURBS interpolationfunction is described. Since the chord length between the knot vectorsis uniform in this machining method, there lies a problem that lessconsideration is given to the control of a curve using the knot vector,which is a characteristic feature of a NURBS curve.

[0039] According to this prior art, the control points on a NURBS curvecalculated on a workpiece coordinate system are transformed into amachine coordinate system in accordance with the tool axis vector, andthe result is employed as the control points for 5-axis NURBSinterpolation without any compensation and the same knot vector as usedon a workpiece coordinate system is applied to the 5-axis NURBSinterpolation.

[0040] Generally speaking, however, there is no guarantee of achieving asmooth curve even if the same knot vector is employed after thecoordinate transformation. For this reason, wind or warp is likely to becaused on a machining surface.

[0041] In addition, this prior art handles ball end mill machining wherethe offset of a contact point between the tool control point and thecurved surface is small, and does not handle radius end mill machiningwhere the offset of a contact point between the tool control point andthe curved surface is big. Because of this, there remains a highpossibility that wind or warp is caused depending upon the extent of theoffset.

SUMMARY OF THE INVENTION

[0042] Under these circumstances, it has been desired to develop amethod for calculating the knot vector and control point applicable tosmooth machining of a curved surface by 5-axis NURBS interpolation usingthe NC data that is converted from a NURBS curve calculated on aworkpiece coordinate system into a machine coordinate system inaccordance with the inclination of the tool axis vector.

[0043] The objective of the present invention is to provide anumerically controlled curved surface machining unit which, by moving atool smoothly along a NURBS curve, enables not only to improve themachining surface roughness and machining surface accuracy but toachieve high-speed machining so as to be able to eliminate handfinishing and reduce machining steps drastically.

[0044] In order to solve the above problems, the present inventionproposes a numerically controlled curved surface machining unit equippedwith three linear axes and, at least, one rotary axis, including asimultaneous multiple-axis control NC machine, which is numericallycontrolled by a numerical control unit (NC controller) with a numericalcontrol NURBS (non-uniform rational B-spline) interpolation function;provided with a means for reading the tool control point vector data andtool axis vector data, calculated along the tool path on a workpiececoordinate system with defined curved shape by a host computer, ascutter location (CL) data and converting the CL data into a positionvector of the three linear axes and a rotation angle on a machinecoordinate system so as to operate the simultaneous multiple-axiscontrol NC machine in accordance with the machine configuration of theNC machine; a means for calculating knot vectors of a NURBS curve withthe most suitable chord length on the basis of a position vector of thethree linear axes and a rotation angle calculated on a machinecoordinate system; a means for calculating each NURBS curve of the threelinear axes and one rotary axis using the knot vectors; a means forconverting the NURBS curve into NURBS interpolation NC data; a means forconverting the feed rate on the workpiece coordinate system into thefeed rate per minute or feed rate per inverse time on the machinecoordinate system; and a means for transmitting the obtained CL data tothe NC controller.

[0045] The machining unit can be provided with a means for removing orinserting CL data along the tool path in accordance with the machiningaccuracy of the curved surface, upon reading data as CL data.

[0046] The machining unit can also be provided with a means for readinga compensation value based on individual difference of each tool fromthe NC controller, upon reading data as CL data, and compensating theread CL data in accordance with the tool compensation value.

[0047] The machining unit may be provided with a means for dividing aNURBS curve based on the curvature or pitch of the CL data plotted alongthe tool path direction.

[0048] The machining unit can also be provided with a means forcalculating a NURBS curve using, as the knot vector, the chord length ofthe position vector of the three linear axes plotted along the tool pathdirection on a machine coordinate system.

[0049] It is also possible that the machining unit is provided with ameans for calculating a NURBS curve using, as the knot vector, the chordlength obtained by multiplying by a coefficient each chord length of theposition vector of the three linear axes plotted along the tool pathdirection on a machine coordinate system, and chord length of the toolcontrol point vector on a workpiece coordinate system and adding up theproducts.

[0050] The machining unit may be provided with a means for transforminga curve into NURBS interpolation in case that the position vector of thethree linear axes and the rotation angle of the rotary axis calculatedon a machine coordinate system are defined by a curve formed by any ofB-spline interpolation, Bezier interpolation, Coons interpolation,polynomial, or a combination of a line and an arc.

[0051] It is desired that the machining unit is provided with a meansfor generating a NURBS curve or multiple NURBS curves with continuouscurvature by modifying or inserting a NURBS curve(s) so that thecurvature at a break point of multiple NURBS curves continuously changeswithin a range of machining accuracy.

[0052] The machining unit can be provided with a means for setting thetool axis vector of CL data to a specific value and converting the datainto NURBS interpolation NC data for simultaneous 3-axis control NCmachine equipped only with three linear axes.

[0053] The machining unit may be provided with a means for obtaining theCL data for machining a workpiece along a screw-and-spiral orsingle-stroke path.

[0054] It is also possible that the machining unit is provided with ameans for reading the linear interpolation NC data for simultaneousmultiple-axis machine and converting the data into CL data.

[0055] The machining unit may sometimes be provided with a means forspecifying the CL data that must be covered by machining without fail.

[0056] In order to solve the above problems, the present invention alsoproposes a numerically controlled curved surface machining unit equippedwith three linear axes and, at least, one rotary axis, including asimultaneous multiple-axis control NC machine, which is numericallycontrolled by a numerical control unit (NC controller) with a numericalcontrol NURBS (non-uniform rational B-spline) interpolation function;provided with a means for reading a NURBS curve of three linear axes anda rotary axis calculated on a machine coordinate system; a means forreading cutter location (CL) data calculated on a workpiece coordinatesystem; a means for calculating a NURBS curve from the tool controlpoint center position vector of the CL data; a means for calculating aNURBS curve from the tool axis vector of the CL data; a means forcalculating each sequence-of-point data to a specified machiningaccuracy from the NURBS curve of three linear axes and a rotary axis ona machine coordinate system; a means for converting thesequence-of-point data on a machine coordinate system into the CL dataon a workpiece coordinate system; and a means for calculating each errorbetween the CL data converted into a workpiece coordinate system and aNURBS curve of the tool control point vector and also a NURBS curve ofthe tool axis vector calculated on a workpiece coordinate system.

[0057] The machining unit can be provided with a means for modifying thecontrol point or knot vector or weights of the NURBS curve on a machinecoordinate system based on the calculation result of the error.

[0058] It is also possible that the machining unit is provided with ameans for reading a tool compensation value from the NC machine andconverting the CL data calculated on a workpiece coordinate system inaccordance with the compensation value.

BRIEF DESCRIPTION OF DRAWINGS

[0059]FIG. 1 is a block diagram showing the system configuration of anembodiment of a numerically controlled curved surface machining unitaccording to the present invention;

[0060]FIG. 2 is a diagram showing comparison of conventional linearinterpolation machining and conventional NURBS interpolation machining;

[0061]FIG. 3 is a diagram showing the relationship between NURBS curveand control points;

[0062]FIG. 4 is a diagram showing an example of way of compensating CLdata;

[0063]FIG. 5 is a diagram showing a way of removing or adding CL dataaccording to the present invention;

[0064]FIG. 6 is a diagram showing a way of dividing a NURBS curveaccording to the present invention;

[0065]FIG. 7 is a diagram showing the relationship between coordinatesystems upon transformation from a machine coordinate system into aworkpiece coordinate system according to the present invention;

[0066]FIG. 8 is a diagram showing a way of calculating a knot vector anda NURBS curve on a machine coordinate system according to the presentinvention;

[0067]FIG. 9 is a diagram showing a way of smoothing a NURBS curve bysetting a blending factor according to the present invention;

[0068]FIG. 10 is a diagram showing a way of forming a single continuouscurve by inserting a fillet curve with R according to the presentinvention;

[0069]FIG. 11 is a diagram showing a way of achieving the continuity ofradius of curvature by modifying a machining shape according to thepresent invention;

[0070]FIG. 12 is a diagram showing a way of continuous machining bychanging a connection of tool paths into a smooth curve according to thepresent invention;

[0071]FIG. 13 is a diagram showing a way of forming a single continuouscurve by changing a tool path into a screw and spiral curve according tothe present invention;

[0072]FIG. 14 is a diagram showing a way of transforming otherinterpolation into NURBS interpolation according to the presentinvention;

[0073]FIG. 15 is a diagram showing the relationship between coordinatesystems upon transformation from a machine coordinate system into aworkpiece coordinate system (inverse transformation) according to thepresent invention;

[0074]FIG. 16 is a diagram showing a way of evaluating a NURBS curve ona machine coordinate system according to the present invention;

[0075]FIG. 17 is a diagram showing a say of modifying a NURBS curveaccording to the present invention;

[0076]FIG. 18 is a block diagram showing the system configuration ofanother embodiment of a numerically controlled curved surface machiningunit according to the present invention;

[0077]FIG. 19 is a diagram showing how to define a knot vector in theNURBS curve interpolation of feed rate;

[0078]FIG. 20 is a diagram showing the relationship between NURBS curveon a machine coordinate system and control points thereof; and

[0079]FIG. 21 is a diagram showing the optimization of feed rate on amachine coordinate system using a blending factor.

DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

[0080] Preferred embodiments of a numerically controlled curved surfacemachining unit according to the present invention are describedhereunder, using FIG. 1 through FIG. 17.

[0081]FIG. 1 is a block diagram showing the whole configuration of anembodiment of the numerically controlled curved surface machining unitaccording to the present invention. A host computer 10 stores the toolcontrol point vector and tool axis vector calculated along the tool pathon a coordinate system with defined curved shape (workpiece coordinatesystem) in an external file 11 as cutter location (CL) data.

[0082] In step 21, a computer 20 of the numerically controlled curvedsurface machining unit reads CL data from the external file 11. Instep33, the computer reads set-up data necessary for NC data conversion,including machine shape data, cutting specification data, settingposition data, from an external file 12.

[0083] There is always an error between the supposed tool length or tooldiameter in preparation of NC data and the actual tool length or tooldiameter.

[0084] In step 22, in order to compensate the above error, the computer20 specifies a tool compensation No. and requests a NC controller 40 tooutput compensation data. The NC controller 40 reads the compensationdate, corresponding to the specified compensation No., from acompensation data storage area 41 and outputs the data to the computer20. The computer 20 reads the compensation data outputted from the NCcontroller 40.

[0085] In step 23, the computer 20 compensates the CL data along adesired direction by a method shown in FIG. 4 and by Expression 4. Inthe expression, C is the tool control point vector, D is the tool axisvector, P is the tool contact point vector on C, and N is the normalvector on P. C1 is a tool control point vector compensated by d1 alongthe spindle direction, C2 by d2 along the normal direction, and C3 by d3along the tool diameter direction.

[0086] Expression 4

C ₁ =C+d ₁ D

C ₂ =C+d ₂ N

[0087]$C_{3} = {C + {\frac{D \times N \times D}{{D \times N \times D}}d_{3}}}$

[0088] Since CL data normally means the tool control point vector andthe tool axis vector, compensation of C1 only is possible. If the toolcontact point vector and normal vector used for the calculation of theCL data are known, compensation of the above C2 and C3 or compensationof a combination of C1, C2 and C3 is possible. Compensating the CL databy this method makes it possible to generate compensated NC data forNURBS (non-uniform rational B-spline) interpolation.

[0089] In the NURBS interpolation function according to “High-SpeedHigh-Accuracy Machining by NURBS Interpolation and Smooth Interpolation”of the afore-mentioned “Machines and Tools”, no compensation ispermitted.

[0090] In step 24, CL data is removed or inserted by a method shown inFIG. 5 in order to improve the machining accuracy and also to reduce thedata volume. First, a passing curve is calculated from the tool controlpoint-vector by least squares curve approximation to find a NURBS curve51. Then, in step 52, CL data is removed by removing data items notwithin a range of specific tolerance

[0091] A NURBS curve is determined by the definition of NURBS curveshown in FIG. 3 and by Expressions 1, 2 and 3. A method for generating aNURBS curve from sequence of points is described in, for example, “TheNURBS Book” by Les Piegl and Wayne Tiller.

[0092] Then, a NURBS curve 53 is calculated based on the tool axisvector of the removed CL data. In step 54, the tool axis vector on theNURBS curve 53 corresponding to the pass points of the tool controlpoint vector is calculated and the variation of angle is calculated. Ifthe difference from the original CL data is greater than the tolerance,a pass point is inserted so as to improve the accuracy. The tolerancefor removing or inserting CL data is set to 0.01 mm.

[0093] In step 25, the NURBS curve 53 calculated in step 24 is divided.FIG. 6 shows the locus of the tool control point vector. From the NURBScurve of the tool control point vector (i.e., G06.2 tool path 64) andthe linear tool path (i.e., G01 tool path 65), a path dividing position63 is found. If the chord length between the pass points becomes shortersuddenly or the angle formed by two lines changes sharply, turbulence iscaused on the NURBS curve. Accordingly, a position where the chordlength becomes too short or the angle formed by two lines changessharply is found out and regarded as a path dividing position 63 of thecurve, and then the curve is divided at the path dividing position 63 soas to improve the accuracy of the curve.

[0094] In step 26, CL data is converted into a machine coordinatesystem. On a table 2-axis type 5-axis machine 50 in FIG. 1, a node atwhich the C-axis table rotation center and the B-axis table rotationcenter intersect with each other at right angle is the origin Om on themachine coordinate system. A workpiece is set on the C-axis table andthe origin on the workpiece coordinate system is assumed to be at Ow.Assuming that, viewing from the origin Om on the machine coordinatesystem, S is the position vector of the origin Ow on the workpiececoordinate system, the transformation of the tool control point vector(X, Y, Z) and tool axis vector (I, J, K) on the workpiece coordinatesystem into the machine coordinate system (Mx, My, Mz, B, C) can beexpressed by the coordinate system in FIG. 7 and Expressions 5, 6, 7, 8and 9.

[0095] Expression 5

W=(X, Y, Z)

D=(I, J, K)

Wa =(Y, Z, X)

Da=(J, K, I)=(Dai, Daj, Dak)

S=(Xs, Ys, Zs)

Ws=Wa+S=(Wax, Way, Waz)

[0096] Expression 6

C=tan⁻¹(Daj/Dai)

B=tan({square root}{square root over (Dai**2+Daj**2)}/Dak)

[0097] Expression 7 ${M\quad c} = \begin{pmatrix}{\cos \left( {- C} \right)} & {- {\sin \left( {- C} \right)}} & 0 \\{\sin \left( {- C} \right)} & {\cos \left( {- C} \right)} & 0 \\0 & 0 & 1\end{pmatrix}$ ${M\quad b} = \begin{pmatrix}{\cos \left( {- B} \right)} & 0 & {\sin \left( {- B} \right)} \\0 & 1 & 0 \\{- {\sin \left( {- B} \right)}} & 0 & {\cos \left( {- B} \right)}\end{pmatrix}$

[0098] Expression 8 $\begin{bmatrix}{M\quad x} \\{My} \\{Mz}\end{bmatrix} = {{MbMc}\quad\begin{bmatrix}{Wax} \\{Way} \\{Waz}\end{bmatrix}}$

[0099] Expression 9

M=(Mx, My, Mz, B, C)

[0100] In the above expressions, (Mx, My, Mz, B, C) represents thecoordinate of each machine axis X, Y, Z, B, and C. The coordinatetransformation expression is unique to each machine. This transformationis applicable also to a table 1-axis, table 1-axis type, and spindle2-axis type machine.

[0101] According to a prior art, the control points on a NURBS curvecalculated on a workpiece coordinate system are transformed into amachine coordinate system in accordance with the tool axis vector, andthe result is employed as the control points for 5-axis NURBSinterpolation without any compensation and the same knot vector as usedon a workpiece coordinate system is applied to the 5-axis NURBSinterpolation.

[0102] Generally speaking, however, there is no guarantee of achieving asmooth curve even if the same knot vector is employed after thecoordinate transformation. For this reason, wind or warp is likely to becaused on a machining surface.

[0103] On the contrary, in the present invention, the chord lengthbetween each machine coordinate is used as the knot vector as shown inFIG. 8(b) and the control points on each NURBS curve of the three linearaxes (Mx, My, MZ) and two rotary axes (B, C) are calculated again sothat each curve changes continuously and smoothly. Thus, the machiningaccuracy is improved.

[0104] In step 27, the knot vector is calculated. In step 81 of FIG. 8,the machine coordinate (Mx, My, Mz, B, C) of all pass points is firstcalculated using the above Expressions 5, 6, 7, 8 and 9. The chordlength (Li) between each machine coordinate is calculated to obtain theknot vector as shown in FIG. 8(b). The same knot vector is used for (Mx,My, Mz) and for (B, C).

[0105] In step 28, from the sequence-of-point data of the three linearaxes (Mx, My, Mz) and two rotary axes (B, C) transformed into a machinecoordinate system from the CL data on a workpiece coordinate system andthe knot vector calculated in step 27, a NURBS curve shown byExpressions 1, 2 and 3 is generated according to a NURBS curvegenerating method described in, for example, the afore-mentioned “TheNURBS Book”.

[0106] In step 28, using the knot vector in FIG. 8(b) and the definitionof NURBS curve shown in FIG. 3 and by Expressions 1, 2 and 3, each NURBScurve of the three linear axes (Mx, My, Mz) and two rotary axes (B, C)is calculated.

[0107] In step 29, a blending factor is calculated. If a workpiece ismachined according to the NURBS curve calculated in step 28, bulge canbe caused on the curve as shown in FIG. 9 and accordingly irregularitymay be caused on the machined surface. In order to prevent this, first,the chord length of the tool control point vector on a workpiececoordinate system is calculated to higher accuracy as shown in FIG.9(b), including the removed points 92 removed in step 24, to obtain theknot vector on a workpiece coordinate system. Then, a knot vector isobtained by multiplying each knot vector on a machine coordinate systemand knot vector on a workpiece coordinate system by the blending factorand adding up the products, and it is used as the knot vector on amachine coordinate system.

[0108] Irregularity on the machined surface can be eliminated as aresult of the above. In this embodiment, smooth machining can beachieved by setting the blending factor to 3:1. This factor can bemodified for different workpiece.

[0109] In step 30, the feed rate on the machine coordinate system iscalculated. Provided that the start point on the workpiece coordinatesystem is (Xws, Yws, Zws), end point (Xwe, Ywe, Zwe), chord length Lw,and feed rate Fw and that the start point on the machine coordinatesystem is (Xms, Yms, Zms, Bms, Cms), end point (Xme, Yme, Zme, Bme,Cme), chord length Lm, and feed rate Fm, the feed rate Fm on the machinecoordinate system is obtained from Expression 10.

[0110] Expression 10

Lw={square root}{square root over((Xwe−Xws)**2+(Ywe−Yws)**2+(Zwe−Zws)**2)}

Lm={square root}{square root over((Xme−Xms)**2+(Yme−Yms)**2+(Zme−Zms)**2 +(Bme−Bms)**2+(Cme−Cms)**2)}

Fm=Fw*Lm/Lw

[0111] There is another method where the feed rate is specified byinverse time (feed per inverse time). When this applies, the feed rateFm on the machine coordinate system is obtained from Expression 11.

[0112] Expression 11

Fm=Fw/Lm

[0113] In step 31, by substituting the control points on the NURBS curveof the three linear axes on the machine coordinate system calculated insteps 28, 29 and 30 for X, Y and Z of the NURBS interpolationinstruction in FIG. 3, control points on the NURBS curve of the tworotary axes for α and β, knot vector for K, weights for R, and the feedrate Fm for F, data is converted into CL data according to the format ofthe NURBS interpolation instruction in FIG. 3.

[0114] In step 32, the last converted NC data is transmitted as NC datafrom the computer 20, and is read and stored into the NC data storagearea 42 of the NC controller 40.

[0115] A NC control mechanism 43, equipped with a built-in NURBSinterpolation function of the NC controller 40, reads NC data from theNC data storage area 42 and, while analyzing the data, controls a 5-axisor 4-axis control NC machine and achieves NC machining. If acommunication line is employed for data input from the external files 11and 12 to the computer 20 and data input/output between the computer 20and the NC controller 40, the computer 20 can be realized as a computerlocated at a consulting firm.

[0116] An embodiment of a method for generating one NURBS curve frommultiple NURBS curves is explained hereunder. FIG. 10(a) shows two NURBScurves connected at a break point 101. By inserting a fillet curve of asmall R within a range of machining accuracy to the two NURBS curves inthe neighborhood of the break point 101, a continuous NURBS curve can begenerated.

[0117]FIG. 11(a) is an enlarged view of a portion enclosed by a dottedline in FIG. 10(b). An arrow represents the radius of curvature. In FIG.11(a), it is noted that the radius of curvature is not continuousparticularly at the break point of the fillet curve. In this case theradius of curvature can be changed continuously by transforming thecurve so that the curvature becomes continuous within a range ofmachining accuracy as shown in FIG. 11(b). Since the speed of the NCcontroller 40 decreases at the end point of the NURBS interpolation, aconcavity is caused on the curve. The above transformation of the NURBScurve is effective to prevent this concavity.

[0118] There can be a case where the connection of NURBS curves formachining is made of a line between a start point 121 and an end point122 as shown in FIG. 12(a). In this case, since the start point 121 andthe NURBS curve are not continuous, a concavity may be caused inmachining if the tool path passes through a curve 123.

[0119] In the present invention, in order to prevent this concavity, thetool path is once retracted along the tangential direction of the NURBScurve at the start point 121, passed through an intermediate pass point125 that does not interfere with the machining surface, and then changedto a NURBS curve 124 that approaches along the tangential direction atthe end point 122. In this manner, a NURBS curve capable of continuousmachining can be calculated.

[0120] Since changing from machining along multiple closed curves shownin FIG. 13(a) to machining along a continuous screw-and-spiral curveshown in FIG. 13(b) enables to machine along a continuous single NURBScurve, both working efficiency and machining accuracy are improved.

[0121] When a position vector of three linear axes and a rotation anglecalculated on a machine coordinate system are defined by either aB-spline interpolation or a Bezier interpolation curve, FIG. 14(a) andExpression 12 show the transformation into NURBS interpolation by Bezierinterpolation, and FIG. 14(b) and Expression 13 show the transformationinto NURBS interpolation by B-spline interpolation; where, Qi is acontrol point, T is a knot vector, and Ni,4(t) is a basis function. Whenthe above is defined by a Coons interpolation curve, FIG. 14(c) andExpression 14 can be transformed into Bezier interpolation. It thereforeis possible to transform into a NURBS interpolation expression using theFIG. 14(a) and Expression; where, Qb is a control point for Bezierinterpolation and Qc is a vector for constituting Coons interpolation.When the above is defined by a polynomial, NURBS interpolation becomesavailable by generating series of points and transforming them into aNURBS curve or by converting the polynomial directly into a NURBSinterpolation expression. When the above is defined by a combination ofan arc and a line, NURBS interpolation is available because each NURBStransformation expression for an arc and a line is known.

[0122] Expression 12

T=[t₀t₁t₂t₃t₄t₅t₆t₇]

=[0 0 0 0 1 1 1 1]

N _(0,4)(t)=(1−t)³

N _(1,4)(t)=3(1−t)² t

N _(2,4)(t)=3(1−t)t ²

N _(3,4)(t)t ³

(0≦t≦1 )

[0123] Expression 13

T=[t₀t₁t₂t₃t₄t₅t₆t₇]

=[−3 −2 −1 0 1 2 3 4]

[0124] Expression of curveP(t)=N0,4(t)Q₀+N_(1,4)(t)Q₁+N_(2,4)(t)Q₂+N_(3,4)(t)Q₃ $\begin{matrix}{{N_{0,4}(t)} = {\frac{1}{6}\left( {1 - t} \right)^{3}}} \\{{N_{1,4}(t)} = {{\frac{1}{2}t^{3}} - t^{2} + \frac{2}{3}}} \\{{N_{2,4}(t)} = {{{- \frac{1}{2}}t^{3}} + {\frac{1}{2}t^{2}} + {\frac{1}{2}t} + \frac{1}{6}}} \\{{N_{3,4}(t)} = {\frac{1}{6}t^{3}}}\end{matrix}$

[0125] (0≦t≦1)

[0126] Expression 14

Q_(c0)=Q_(B0)

Q_(c1)=Q_(B3)

Q _(C0)=−3Q _(B0)+3Q _(B1)=3(Q _(B1) −Q _(B0))

Q _(C1)=−3Q _(B2)+3Q _(B3)=3(Q _(B3) −Q _(B2))

[0127] If the tool axis vector of CL data is set to a fixed value, therotation angle on a machine coordinate system becomes a fixed value.Accordingly, use of a numerically controlled curved surface machiningunit of the present invention enables to generate NURBS interpolation NCdata for simultaneous three-axis control NC machine equipped only withthree linear axes.

[0128] Next, checking and modifying the precision of a NURBS curve on amachine coordinate system are described hereunder. Transformation from amachine coordinate system into a workpiece coordinate system is aninverse of FIG. 7 and calculated by Expressions 15, 16, 17, 18 and 19 asshown in FIG. 15. Symbols used in these expressions are the same as inFIG. 7.

[0129] Expression 15

M=(Mx, My, Mz, B, C)

[0130] Expression 16 ${M\quad c} = \begin{pmatrix}{\cos (C)} & {- {\sin (C)}} & 0 \\{\sin (C)} & {\cos (C)} & 0 \\0 & 0 & 1\end{pmatrix}$ ${M\quad b} = \begin{pmatrix}{\cos (B)} & 0 & {\sin (B)} \\0 & 1 & 0 \\{- {\sin (B)}} & 0 & {\cos (B)}\end{pmatrix}$

[0131] Expression 17 $\begin{bmatrix}{Wax} \\{Way} \\{Waz}\end{bmatrix} = {M\quad {{cMb}\begin{bmatrix}{M\quad x} \\{My} \\{Mz}\end{bmatrix}}}$

[0132] Expression 18

Dak=sin(B)

Daj=cos(B) sin(C)

Dai=cos(B) cos(C)

[0133] Expression 19

Da=(J, K, I)=(Dai, Daj, Dak)

S=(Xs, Ys, Zs)

Wa=(Wax, Way, Waz)−S=(Y, Z, X)

W=(X, Y, Z)

D=(I, J, K)

[0134] A sequence-of-point data is calculated from a NURBS curve of thethree linear axes and rotation angle calculated on a machine coordinatesystem. The calculated sequence-of-point data is converted into CL dataon a workpiece coordinate system using the coordinate system in FIG. 15and Expressions 15, 16, 17, 18 and 19. The converted CL data is thencompensated along an inverse direction to that in FIG. 4 so as tocalculate CL date before compensation.

[0135] Using the CL data 11 on the coordinate system as inputted in FIG.1, a NURBS curve 151 expressed by Expressions 1, 2 and 3 and a tool axisvector 152 on each point as shown in FIG. 16 are calculated by a NURBScurve generating method described in, for example, “The NURBS Book”.Then, the compensated NURBS data is compared with the NURBS curve 151and tool axis vector 152 so as to check the accuracy.

[0136] It will be a practical way for the comparison to calculate errorson a computer and visually display them on a display or a plotter. Thatis, sequence of CL data points converted from a machine coordinatesystem are superposed on the curve so as to check the accuracy.

[0137]FIG. 17 shows how to modify a curve if a point 153, for example,falls outside a required accuracy. In the figure, the control point Wiof the NURBS curve represent weights. There are three ways ofmodification are available: changing the control point N2 to N2′,modifying Wi, or modifying the chord length between knot vectors.

[0138] Next, reading linear interpolation NC data for a simultaneous4-axis or 5-axis control machine and converting the data into NURBSinterpolation NC data are described hereunder. Linear interpolation NCdata is read and unnecessary codes are removed from the NC data, andthen three linear axes and one or two rotary axes on a machinecoordinate system are calculated.

[0139] Using the coordinate system on FIG. 15 and Expressions 15, 16,17, 18 and 19, the date on a machine coordinate is converted into CLdata on a workpiece coordinate system, and then stored in the CL datafile 11 shown in FIG. 1. Using this data, it becomes possible tocalculate NURBS interpolation NC data on a curved surface machining unitof the present invention shown in FIG. 1.

[0140] In order to improve the machining accuracy of a shape, there canbe a situation where the tool path is required to pass through a certainpoint, range or line without fail. In this situation, curved surfacemachining in an improved shape becomes possible by increasing passpoints, for example, by specifying additional pass points to thoseaccepted in FIG. 5.

[0141] According to a numerically controlled curved surface machiningunit of the present invention, it is possible to move a tool smoothlyalong a NURBS (non-uniform rational B-spline) curve and machine aworkpiece. Hence, it becomes possible to improve the machining surfaceroughness and machining surface accuracy, eliminate hand finishing, andreduce machining steps drastically. In addition, since NC data volumecan be reduced, it becomes possible to prevent the reduction of averagefeed rate to be caused by a servo mechanism and achieve high-speedmachining. Besides, it is also possible in the present invention to makea fine adjustment in consideration of possible deformation of a shape.

[0142] Next, another embodiment of the present invention is explainedhereunder.

[0143]FIG. 18 is a block diagram showing the configuration of anotherembodiment of the numerically controlled curved surface machining unitaccording to the invention. This embodiment of the invention is anumerically controlled curved surface machining unit shown in FIG. 1 towhich new functions are added. That is to say, new functions of theinvention are added to the numerically controlled curved surfacemachining unit as a means 231 and a means 232.

[0144] The curved surface data generated by a host CAM system 10 isdivided, within a specified allowance, into a number of lines along atool path expressed on a workpiece coordinate system. Tool control pointvector information and tool axis vector information at individualdividing point, which is generated as above, and feed rate informationon a workpiece coordinate system are described in order of the sequencein the tool path so as to generate cutter location (CL) data 11.

[0145] The generated CL data 11 is inputted into the computer 20 of thenumerically controlled curved surface machining unit 50 so as to convertthe data into NC data for operating the NC machine in accordance withthe machine configuration of the numerically controlled curved surfacemachining unit.

[0146] With the function in step 21, the numerically controlled curvedsurface machining unit 50 reads the CL data.

[0147] In steps 33 and 22 to 29 with external file 2, in accordance withthe mode of the embodiment of the numerically controlled curved surfacemachining unit shown in FIG. 1, the position vector and NURBS(non-uniform rational B-spline) curve of the three linear axes and arotation angle, feed rate on a machine coordinate system, and knotvector at the control points on a machine coordinate system arecalculated on the basis of the machine configuration of the numericallycontrolled curved surface machining unit 50.

[0148] In step 231, a NURBS curve on a machine coordinate system iscalculated. The feed rate on a machine coordinate system, which iscalculated from the above Expression 10 using the position vector ona-workpiece coordinate system, feed rate on a workpiece coordinatesystem, and position vector on a machine coordinate system, generates aNURBS curve expressed by Expressions 1, 2 and 3, using the knot vector(i of the control points of the three linear axes on a machinecoordinate system, as shown in FIG. 19, according to a method forgenerating a NURBS curve shown, for example, in the afore-mentioned “TheNURBS Book”.

[0149] The control point on the NURBS curve of the feed rate on amachine coordinate system generated as above can be less than zero asshown in FIG. 20, dependent on the shape of the NURBS curve.

[0150] In step 232, the blending factor of the NURBS curve of the feedrate is calculated. While the NURBS curve 257 of the feed rate on amachine coordinate system calculated in step 31 is expressed as theactual feed rate on a workpiece coordinate system, as shown in FIG. 21,there arises an excess or insufficiency 260 of the feed rate as a wholewhen compared to the specified feed rate 259 on a workpiece coordinatesystem. In order to eliminate this and optimize the curve up to thespecified feed rate 259, another NURBS curve 261 of the feed rate on amachine coordinate system is calculated by multiplying the knot vectorcalculated in step 27 by the blending factor.

[0151] In step 31, by substituting the control points on the NURBS curveof the three linear axes on the machine coordinate system calculated insteps 28 to 30 for X, Y and Z of the NURBS interpolation instruction,control points on the NURBS curve of the two rotary axes for B and C,knot vector for K, weights for R, and the control point on the NURBScurve of the feed rate on a machine coordinate system calculated in step232 for F, data is converted into NC data according to the format of theNURBS interpolation instruction.

[0152] In step 32, the last converted NC data is transmitted as NC datafrom the computer 20, and is read and stored into the NC data storagearea 42 of the NC controller 40.

[0153] The NC control mechanism 43, equipped with a built-in NURBSinterpolation function of the NC controller 40, reads NC data from theNC data storage area 42 and, while analyzing the data, controls a 5-axisor 4-axis control NC machine and achieves NC machining.

[0154] In the embodiment, when an output format of NC data is given inthe form of a general free curve, it is possible to convert data into NCdata and achieve NC machining by interpolating the tool control pointvector and machining speed in the same manner as above, that is,calculating the control points X, Y and Z on the free curve of the threelinear axes on a machine coordinate system, control points B and C onthe free curve of the two rotary axes, knot vector K, weight R, controlpoint F on the free curve of the feed rate on a machine coordinatesystem.

[0155] According to a mode of the embodiment, cutting tool life can beextended because there is provided a means for determining an optimumactual feed rate and cutting specification on a tool locus moving alonga free curve. Besides, since the reduction of average feed rate due toservo mechanism control can be eliminated, it becomes possible to lessena burden to the numerically controlled curved surface machining unit andachieve curved surface machining with low machined surface roughness andhigh machined surface accuracy. As a result of the above improvement,hand finishing required as after-process can be eliminated and machiningsteps can be reduced drastically. It also becomes possible to make afine adjustment in consideration of possible variation of the feed rate.

What is claimed is:
 1. A numerically controlled curved surface machiningunit equipped with three linear axes and, at least, one rotary axis,including a simultaneous multiple-axis control NC machine, which isnumerically controlled by a numerical control unit (NC controller) witha numerical control NURBS (non-uniform rational B-spline) interpolationfunction; provided with a means for reading the tool control pointvector data and tool axis vector data, calculated along the tool path ona workpiece coordinate system with defined curved shape by a hostcomputer, as cutter location (CL).data and converting the CL data into aposition vector of the three linear axes and a rotation angle on amachine coordinate system so as to operate thesimultaneous-multiple-axis control NC machine in accordance with themachine configuration of the NC machine; a means for calculating knotvectors of a NURBS curve with the most suitable chord length on thebasis of a position vector of the three linear axes and a rotation anglecalculated on a machine coordinate system; a means for calculating eachNURBS curve of the three linear axes and one rotary axis using the knotvectors; a means for converting the NURBS curve into NURBS interpolationNC data; a means for converting the feed rate on the workpiececoordinate system into the feed rate per minute or feed rate per inversetime on the machine coordinate system; and a means for transmitting theobtained CL data to the NC controller.
 2. A numerically controlledcurved surface machining unit according to claim 1; provided with ameans for removing or inserting CL data along the tool path inaccordance with the machining accuracy of the curved surface, uponreading data as CL data.
 3. A numerically controlled curved surfacemachining unit according to claim 1; provided with a means for reading acompensation value based on individual difference of each tool from theNC controller, upon reading data as CL data, and compensating the readCL data in accordance with the tool compensation value.
 4. A numericallycontrolled curved surface machining unit according to claim 1; providedwith a means for dividing a NURBS curve based on the curvature or pitchof the CL data plotted along the tool path direction.
 5. A numericallycontrolled curved surface machining unit according to claim 1; providedwith a means for calculating a NURBS curve using, as the knot vector,the chord length of the position vector of the three linear axes plottedalong the tool path direction on a machine coordinate system.
 6. Anumerically controlled curved surface machining unit according to claim1; provided with a means for calculating a NURBS curve using, as theknot vector, the chord length obtained by multiplying by a coefficienteach chord length of the position vector of the three linear axesplotted along the tool path direction on a machine coordinate system,and chord length of the tool control point vector on a workpiececoordinate system and adding up the products.
 7. A numericallycontrolled curved surface machining unit according to claim 1; providedwith a means for transforming a curve into NURBS interpolation in casethat the position vector of the three linear axes and the rotation angleof the rotary axis calculated on a machine coordinate system are definedby a curve formed by any of B-spline interpolation, Bezierinterpolation, Coons interpolation, polynomial, or a combination of aline and an arc.
 8. A numerically controlled curved surface machiningunit according to claim 1; provided with a means for generating a NURBScurve or multiple NURBS curves with continuous curvature by modifying orinserting a NURBS curve(s) so that the curvature at a break point ofmultiple NURBS curves continuously changes within a range of machiningaccuracy.
 9. A numerically controlled curved surface machining unitaccording to claim 1, provided with a means for setting the tool axisvector of CL data to a specific value and converting the data into NURBSinterpolation NC data for simultaneous 3-axis control NC machineequipped only with three linear axes.
 10. A numerically controlledcurved surface machining unit according to claim 1, provided with ameans for obtaining the CL data for machining a workpiece along ascrew-and-spiral or single-stroke path.
 11. A numerically controlledcurved surface machining unit according to claim 1, provided with ameans for reading linear interpolation NC data for simultaneousmultiple-axis machine and converting the data into CL data.
 12. Anumerically controlled curved surface machining unit according to claim1, provided with a means for specifying the CL data that must be coveredby machining without fail.
 13. A numerically controlled curved surfacemachining unit equipped with three linear axes and, at least, one rotaryaxis, including a simultaneous multiple-axis control NC machine, whichis numerically controlled by a numerical control unit (NC controller)with a numerical control NURBS (non-uniform rational B-spline)interpolation function; provided with a means for reading a NURBS curveof three linear axes and a rotary axis calculated on a machinecoordinate system; a means for reading cutter location (CL) datacalculated on a workpiece coordinate system; a means for calculating aNURBS curve from the tool control point center position vector of the CLdata; a means for calculating a NURBS curve from the tool axis vector ofthe CL data; a means for calculating each sequence-of-point data to aspecified machining accuracy from the NURBS curve of three linear axesand a rotary axis on a machine coordinate system; a means for convertingthe sequence-of-point data on a machine coordinate system into CL dataon a workpiece coordinate system; and a means for calculating each errorbetween the CL data converted into a workpiece coordinate system and aNURBS curve of the tool control point vector and also a NURBS curve ofthe tool axis vector calculated on a workpiece coordinate system.
 14. Anumerically controlled curved surface machining unit according to claim13, provided with a means for modifying the control point or knot vectoror weights of the NURBS curve on a machine coordinate system based onthe calculation result of the error.
 15. A numerically controlled curvedsurface machining unit according to claim 13, provided with a means forreading a tool compensation value from the NC machine and converting theCL data calculated on a workpiece coordinate system in accordance withthe compensation value.
 16. A numerically controlled curved surfacemachining unit equipped with three linear axes and, at least, one rotaryaxis, including a simultaneous multiple-axis control NC machine, whichis numerically controlled by a numerical control unit (NC controller)with a numerical control free curve interpolation function, and a meansfor calculating NC data for controlling the spindle feed rate; providedwith a means for reading the tool control point vector data and toolaxis vector data, calculated along the tool path on a workpiececoordinate system with defined curved shape by a host computer, and thefeed rate on a workpiece coordinate system as cutter location (CL) dataand converting the CL data into a position vector of the three linearaxes and a rotation angle on a machine coordinate system so as tooperate the simultaneous multiple-axis control NC machine in accordancewith the machine configuration of the NC machine; a feed ratedetermining means, which, in generating the NC data wherein the positionvector and rotation angle on a machine coordinate system areinterpolated by a NURBS (non-uniform rational B-spline) curve,determines the feed rate on a machine coordinate system by NURBS curveinterpolation, using the knot vector of the NURBS curve; a means forconverting the feed rate on the workpiece coordinate system into thefeed rate per minute or feed rate per inverse time on the machinecoordinate system; and a means for transmitting the obtained NC data tothe NC controller.
 17. A numerically controlled curved surface machiningunit according to claim 17; wherein, when the shape of a curve alongwhich the tool locus is to be interpolated is defined by a free curveincluding NURBS curve, the feed rate determining means interpolates andcalculates the feed rate using a free curve, expressed by the samedescription as is the tool locus, and parameters thereof.
 18. Anumerically controlled curved surface machining unit according to claim16 or 17; wherein the feed rate determining means reads the CL data andNC data in which the tool locus is expressed by linear interpolation,and determines the feed rate by NURBS curve interpolation.
 19. Anumerically controlled curved surface machining unit according to claim18; provided with a means for altering a value of a control point,inserting control points, or removing control points in case that thefeed rate of a tool, which is calculated from the CL data by coordinatesystem transformation in accordance with the machine configuration ofthe numerically controlled curved surface machining unit, is used as thecontrol points on a curve to be interpolated.